package ar.com.ctrln.control.compras.compra;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import ar.com.ctrln.persistence.model.compra.Compra;
import ar.com.ctrln.persistence.model.compra.DetalleCompra;
import ar.com.ctrln.persistence.model.compra.PedidoCompra;
import ar.com.ctrln.persistence.model.insumo.Insumo;
import ar.com.ctrln.persistence.model.proveedor.Proveedor;
import ar.com.ctrln.persistence.model.sistema.dashboardPpal.Movimiento;
import ar.com.ctrln.services.compra.GestorCompra;
import ar.com.ctrln.services.insumo.GestorInsumo;
import ar.com.ctrln.services.sistema.principal.GestorMovimiento;

@Controller("registrarCompra")
public class RegistrarCompra {

	@Autowired
	private GestorCompra gestorCompra;
	
	@Autowired
	private GestorInsumo gestorInsumo;
	
	@Autowired
	private GestorMovimiento gestorMovimiento;
	
	
	private Movimiento movimiento;
	
	public void guardarCompra(Compra compra) {
		gestorCompra.guardarCompra(compra);
		
		//informo el nuevo movimiento a la pantalla principal...		
		movimiento = gestorMovimiento.nuevoMovimiento("Nueva compra realizada a: "+compra.getProveedor()+": "+compra.getEstado(), 5,0);
		gestorMovimiento.guardar(movimiento);
		
		}
	
	public void guardarDetalleCompra(DetalleCompra detCompra) {
		gestorCompra.guardarDetalleCompra(detCompra);
		}
	
	public List<Compra> listaCompras() {
		return gestorCompra.listarCompras();
	}
	
	public List<Insumo> listaInsumos() {
		return gestorInsumo.listaInsumos();
	}
	
	public List<Proveedor> listaProveedores() {
		return gestorInsumo.listaProveedor();
	}
	
	public List<Insumo> listaInsumosxTipo(String tipo) {
		return gestorInsumo.listarInsumosxTipo(tipo);
	}

	public void actualizarPedido(PedidoCompra p) {
		gestorCompra.actualizarPedido(p);
	}
}
